﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NetworkAnalysis
{
    class NAResult
    {
        private int id;
        private string pID;
        private double routeLength;
        private IPoint originStartPt;
        private IPoint originEndPt;
        private IPoint roadStartPt;
        private IPoint roadEndPt;
        private string[] roadIDList;
        List<IPoint> routePts;

        public NAResult(int id, string pID, List<IPoint> routePts, string[] roadIDList)
        {
            this.id = id;
            this.pID = pID;
            this.roadIDList = roadIDList;
            this.routePts = routePts;
        }

        public NAResult(int id, double routeLength, IPoint originStartPt, IPoint originEndPt, IPoint roadStartPt, IPoint roadEndPt, string[] roadIDList)
        {
            this.id = id;
            this.routeLength = routeLength;
            this.originStartPt = originStartPt;
            this.originEndPt = originEndPt;
            this.roadStartPt = roadStartPt;
            this.roadEndPt = roadEndPt;
            this.roadIDList = roadIDList;
        }

        public NAResult(int id, string pID, IPoint originStartPt, IPoint originEndPt, IPoint roadStartPt, IPoint roadEndPt, string[] roadIDList)
        {
            this.id = id;
            this.pID = pID;
            this.originStartPt = originStartPt;
            this.originEndPt = originEndPt;
            this.roadStartPt = roadStartPt;
            this.roadEndPt = roadEndPt;
            this.roadIDList = roadIDList;
        }

        public NAResult(int id, string pID, double routeLength, IPoint originStartPt, IPoint originEndPt, IPoint roadStartPt, IPoint roadEndPt, string[] roadIDList)
        {
            this.id = id;
            this.pID = pID;
            this.routeLength = routeLength;
            this.originStartPt = originStartPt;
            this.originEndPt = originEndPt;
            this.roadStartPt = roadStartPt;
            this.roadEndPt = roadEndPt;
            this.roadIDList = roadIDList;
        }

        //获取成员变量值
        public int getId()
        {
            return this.id;
        }
        public string getpID()
        {
            return this.pID;
        }
        public double getRouteLength()
        {
            return this.routeLength;
        }
        public IPoint getOriginStartPt()
        {
            return this.originStartPt;
        }
        public IPoint getOriginEndPt()
        {
            return this.originEndPt;
        }
        public IPoint getRoadStartPt()
        {
            return this.roadStartPt;
        }
        public IPoint getRoadEndPt()
        {
            return this.roadEndPt;
        }
        public string[] getRoadIDList()
        {
            return this.roadIDList;
        }

        //设置成员变量值
        public void setId(int id)
        {
            this.id = id;
        }
        public void setpID(string pID)
        {
            this.pID = pID;
        }
        public void setRouteLength(double routeLength)
        {
            this.routeLength = routeLength;
        }
        public void setOriginStartPt(IPoint originStartPt)
        {
            this.originStartPt = originStartPt;
        }
        public void setOriginEndPt(IPoint originEndPt)
        {
            this.originEndPt = originEndPt;
        }
        public void setRoadStartPt(IPoint roadStartPt)
        {
            this.roadStartPt = roadStartPt;
        }
        public void setRoadEndPt(IPoint roadEndPt)
        {
            this.roadEndPt = roadEndPt;
        }
        public void setRoadIDList(string[] roadIDList)
        {
            this.roadIDList = roadIDList;
        }
    }
}
